Quickstart: Tabular Regression with the command line interface
-------------------------------------------------------------------

NeurEco executable for Tabular models (Regression, Compression, Classification) is called NeurEcoDNN. It can be called directly from a terminal / powershell after a full installation of NeurEco.

To build a NeurEco Regression model, run the following command in the terminal:

.. code-block:: shell

    neurecoDNN build path/to/build/configuration/file/build.conf

The skeleton of a configuration file required to build NeurEco Regression model, here build.conf, looks as follows (for the test case :std:ref:`Energy Consumption in quickstart`).
Its fields should be filled according to the problem at hand.

.. code-block:: javascript

	{
		"neurecoDNN_build": {
			"DevSettings": {
				"disconnect_inputs_if_possible": true,
				"final_learning": true,
				"initial_beta_reg": 0.1,
				"parameter_number_limit": 0,
				"valid_percentage": 33.33
			},
			"UserSettings": {
				"gpu_id": 0,
				"use_gpu": false
			},
			"build_compress": false,
			"checkpoint_address": "./EnergyConsumption/EnergyConsumption.checkpoint",
			"classification": false,
			"exc_filenames": [
				"x_train.csv"
			],
			"freeze_structure": false,
			"input_normalization": {
				"normalize_per_feature": true,
				"scale_type": "max_centered",
				"shift_type": "min_centered"
			},
			"output_filenames": [
				"y_train.csv"
			],
			"output_normalization": {
				"normalize_per_feature": true,
				"scale_type": "auto",
				"shift_type": "auto"
			},
			"resume": false,
			"starting_from_checkpoint_address": "",
			"start_build_from_model_number": -1,
			"test_exc_filenames": [
				"x_test.csv"
			],
			"test_output_filenames": [
				"y_test.csv"
			],
			"write_model_to": "./EnergyConsumption/EnergyConsumption.ednn"
		}
	}


.. note:: 
    For detailed documentation on **build**, see :std:ref:`Build NeurEco Regression model with the command line interface`. For data preparation, see :std:ref:`Data preparation for NeurEco Regression conf`.

To perform an evaluation, run the following command in the terminal:

.. code-block:: shell

    neurecoDNN evaluate path/to/evaluation/configuration/file/eval.conf
	
The skeleton of an evaluation configuration file, here eval.conf, looks as follows (for the test case :std:ref:`Energy Consumption in quickstart`).
Its fields should be filled according to the problem at hand.

.. code-block:: javascript

   {
	    "NeurEcoEvaluate": {
	        "exc_filenames": [
	            "x_test.csv"
	        ],
	        "neureco_filename": "./EnergyConsumption/EnergyConsumption.ednn",
	        "optional_output_reference": [
	            "y_test.csv"
	        ],
	        "write_model_output_to_directory": "./EvaluationResults"
	    }
	}

	
.. note::
    For detailed documentation on **evaluate**, see :std:ref:`Evaluate NeurEco Regression model with the command line interface`.

To export the model to the chosen format, run one of the following commands:

.. code-block:: shell
	
    neurecoDNN exportC ./EnergyConsumption/EnergyConsumption.ednn ./EnergyConsumption.h double
    neurecoDNN exportONNX ./EnergyConsumption/EnergyConsumption.ednn ./EnergyConsumption.onnx float16
    neurecoDNN exportVBA ./EnergyConsumption/EnergyConsumption.ednn ./EnergyConsumption.onnx float
    neurecoDNN exportFMU ./EnergyConsumption/EnergyConsumption.ednn ./EnergyConsumption.fmu

Export to these formats requires *embed* license.

.. note::
    For detailed documentation on Tabular Regression with the command line interface, see :std:ref:`Tabular Regression with a configuration file`.
